package com.gqz.equip.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gqz.common.core.domain.RequestForm;
import com.gqz.equip.entity.TEnWzCrkOrderEquipEntity;
import com.gqz.equip.vo.TEnWzCrkOrderEquipVo;
import com.gqz.equip.vo.TEnWzCrkOrderEquipXqVo;
import com.gqz.equip.vo.TEnWzCrkOrderVo;
import jakarta.servlet.http.HttpServletResponse;

import java.util.List;


/**
 * 新能源-物资-出入库工单设备表
 *
 * @Version 1.0
 * @Author input you name
 */
public interface ITEnWzCrkOrderEquipService extends IService<TEnWzCrkOrderEquipEntity> {

    /**
     * 通过id 获取 信息新能源-物资-出入库工单设备表
     *
     * @param Djbh 设备主键
     * @return 新能源-物资-出入库工单设备表
     */
    List<TEnWzCrkOrderEquipVo> getByDjbh(String Djbh);

    /**
     * 通过单据编码 获取 信息新能源-物资-出入库工单设备列表
     *
     * @param requestForm 设备单据编码
     * @return 新能源-物资-出入库工单设备表
     */
    Page<TEnWzCrkOrderEquipVo> getByDjBhPage(RequestForm<TEnWzCrkOrderVo> requestForm);

    /**
     * 分页 获取 信息 新能源-物资-出入库工单设备表
     *
     * @param requestForm 查询体body
     * @return page 新能源-物资-出入库工单设备表
     */
    Page<TEnWzCrkOrderEquipVo> page(RequestForm<TEnWzCrkOrderEquipVo> requestForm);

    /**
     * 分页 获取 数量新能源-物资-出入库工单设备表
     *
     * @param requestForm 查询体body
     * @return page 新能源-物资-出入库工单设备表
     */
    Long count(RequestForm<TEnWzCrkOrderEquipVo> requestForm);

    /**
     * 新增记录
     *
     * @param vos 记录数据
     * @return 影响的条数num
     */
    int insert(List<TEnWzCrkOrderEquipVo> vos);

    /**
     * 修改记录
     *
     * @param vos 记录数据
     * @return 影响的条数num
     */
    int update(List<TEnWzCrkOrderEquipVo> vos);

    /**
     * 分页 获取 信息 新能源-物资-出入库工单设备表
     *
     * @param requestForm 查询体body
     * @return page 新能源-物资-出入库工单设备表
     */
    Page<TEnWzCrkOrderEquipXqVo> pageGetEquipXq(RequestForm<TEnWzCrkOrderEquipXqVo> requestForm);


    /**
     * @param requestForm
     * @Description: 导出excel
     * @return: void
     */
    void exportExcel(HttpServletResponse response, RequestForm<TEnWzCrkOrderEquipXqVo> requestForm);
}
